package org.finesys.system.service;

import javax.servlet.http.HttpServletResponse;

import org.finesys.common.core.module.R;
import org.finesys.common.mp.core.service.BaseService;
import org.finesys.system.api.entity.SysFile;
import org.springframework.web.multipart.MultipartFile;

public interface SysFileService extends BaseService<SysFile> {

    /**
     * 上传文件
     *
     * @param file
     * @return
     */
    R<?> uploadFile(MultipartFile file);


    /**
     * 读取文件
     *
     * @param bucket   桶名称
     * @param fileName 文件名称
     * @param response 输出流
     */
    void getFile(String bucket, String fileName, HttpServletResponse response);

    /**
     * 删除文件
     *
     * @param id
     * @return
     */
    Boolean deleteFile(Long id);

}
